Method for improving the quality of data transmission in a packet-based communication network

ABSTRACT

The invention relates to a method for improving the quality of data transmission in a packet-based communication network comprising a plurality of network nodes (K). Each of the network nodes (K) has a number of ports (P) with which at least one queue (Q) is associated respectively, and by means of which ports a communication connection (KV) to another network node (K) can be produced. According to the method of the invention, at least the queues (Q) of those ports which are arranged, in the network nodes (K), along, respective communication paths that are formed in the communication network, are monitored for their queue length. In addition, a degree of overload of the affected port(s) (P) is determined from the queue length, and on the basis of the degree of overload of the communication path(s) (PF 1 , PF 2 , PF 3 ) running across the affected overloaded port (P), a runtime delay (delay) and/or a delay variation (jitter) in the data transmission can be inferred. Finally, the overload amount rises above a predetermined threshold value for at least one of the communication paths (PF 1 , PF 2 , PF 3 ) running across an overloaded port (P). An alternative communication path (PF 2 ′) is configured, the overloaded ports (P) thus being bypassed.

The invention relates to a method for improving the quality in a packet-based communication network which comprises a plurality of network nodes, wherein each of the network nodes has a number of ports, with each of which at least one queue is associated and via which a communication connection to another network node can be produced. The invention further relates to a network node of a packet-based communication network as well as a packet-based communication network which has a plurality of network nodes.

In many applications distributed across a communication network the data transmission in respect of an end-to-end delay (delay) and/or a delay variation (jitter) must not exceed specified limit values, so that the desired quality of service of the application is achieved. This applies in particular to communication networks developed in the industrial sphere, for example for plant automation, process automation or energy automation. At present only network technologies based on TDM (Time Division Multiplexing) can meet predefined requirements for delay values and jitter values along communication paths embodied within the communication network. Network technologies in principle suitable in this connection are SDH (Synchronous Digital Hierarchy) or ATM (Asynchronous Transfer Mode) networks. Because of their complexity and the high costs, in particular in the case of scaling, it does not make sense to deploy them in many application scenarios.

For reasons of complexity and the low costs, even in the case of scaling, it is therefore desirable to deploy packet-based communication networks. Such communication networks are for example those based on Ethernet or IP (Internet Protocol). However, one problem with packet-based communication networks is that as a matter of principle no guarantees can be given as regards delay and/or jitter.

Although complex extensions of Ethernet are known in the field of Industrial Ethernet (for example an isochronous real-time transmission (IRT) for PROFINET) which emulate a deterministic behavior of the communication network by TDM, this technology can only be deployed with the use of special hardware and a highly complex configuration.

It is hence the object of the present invention to specify a method with which the quality of data transmission in a packet-based communication network can be improved. Furthermore, a network node of a packet-based communication network is to be specified which permits an improvement in the quality of data transmission in the packet-based communication network. Finally it is also an object of the invention to specify a packet-based communication network which has a high quality of data transmission.

These objects are achieved by the method according to the features of claim 1, a network node with the features of claim 12 and a packet-based communication network with the features of claim 13. Advantageous embodiments emerge from the dependent claims.

The invention creates a method for improving the quality of data transmission in a packet-based communication network which comprises a plurality of network nodes, wherein each of the network nodes has a number of ports, with each of which at least one queue is associated and via which a communication connection to another network node can be produced. In the method at least the queues of those ports are monitored for their queue length, said ports being disposed along respective communication paths formed in the communication network in the network nodes. A degree of overload is determined for the port(s) in question from the queue length, wherein a runtime delay (delay) and/or delay variation (jitter) in the data transmission can be inferred from the degree of overload of the communication path(s) running via the overloaded port in question. If the degree of overload exceeds a predefined threshold value, an alternative communication path bypassing the overloaded ports is set up for at least one of the communication paths which is routed via an overloaded port.

The invention further creates a network node of a packet-based communication network containing a plurality of network nodes, wherein the network node comprises a number of ports, with each of which at least one queue is associated and via which a communication connection to another network node can be produced. The network node comprises a first means for monitoring, for their queue lengths, the queues of those ports which are disposed in the network nodes along respective communication paths formed along the communication network. The network node further comprises a second means for determining the degree of overload from the queue length for the port(s) in question.

The invention further creates a packet-based communication network which comprises a plurality of inventively embodied network nodes and a network management instance for setting up communication paths and/or alternative communication paths using routing mechanisms in the communication network. The network management instance comprises a third means, using which a runtime delay (delay) and/or delay variation (jitter) in the data transmission for communication paths running via the overloaded port(s) in question can be inferred from the degree of overload obtained from a respective network node. The network management instance further comprises a fourth means, using which, if the degree of overload exceeds a predefined threshold value, an alternative communication path bypassing the overloaded port can be set up for at least one of the communication paths which is routed via an overloaded port.

The invention enables determinism to be achieved in packet-oriented communication networks, such as for example communication networks based on the Internet Protocol, or Ethernet. The result is a high transmission quality as regards delay and/or jitter for the communication paths formed in the communication network. One advantage of the inventive procedure is that there is no need for a complex calculation of absolute delay values and/or jitter values in order to establish that a delay-critical and/or jitter-critical situation exists within the communication network. This applies in particular on the assumption that the delay and/or jitter requirements are adhered to without difficulty in the otherwise almost empty communication network (i.e. there is no overload or congestion situation). Another advantage is that very little modification is necessary in the network node in order to implement the inventive procedure. Another advantage is that the method also ensures scalability in large communication networks. This is ensured because with the inventive method it is only necessary to monitor delay values or jitter values for each queue and network node, but not for each communication path.

In an expedient embodiment the alternative communication path is set up to bypass those nodes which comprise at least one overloaded port. As a result the route of the alternative communication path is routed around the node with the overloaded port. This can be advantageous if the performance of the whole network node is already being negatively impacted by a port being overloaded.

According to another embodiment, one of the following queue lengths is processed to determine the degree of overload: an average queue length, wherein the average queue lengths are calculated from the average over time of several recorded queue lengths of a queue over a predefined period; and/or a maximum queue length and/or an effective queue length, which is determined from temporally preceding and current queue lengths. On the basis of the specified queue lengths it is possible to determine suitable communication paths for delay-critical or jitter-critical communication paths.

According to another expedient embodiment the communication paths and/or the alternative communication paths are set up by a higher-level network management instance using routing mechanisms. The network management instance serves to actively create communication paths in the packet-based communication network. The active creation of communication paths by the network management instance can be effected for example analogously to MPLS (Multi Protocol Label Switching). The queue lengths of some ports of the network nodes are inventively here used as a criterion for good or poor communication paths. The network management instance can be embodied by a central processor, a control unit of one of the network nodes or a plurality of processors and control units.

In the further embodiment the queue lengths of the ports of the plurality of network nodes are interrogated at predefined intervals by the higher-level network management instance, wherein the network management instance determines the degree of overload for each of the ports. Alternatively the queue lengths of the ports of the plurality of network nodes are transmitted from the network nodes to the higher-level network management instance at predefined time intervals and/or as a function of a predefined global or individual network node threshold value being exceeded, wherein the network management instance determines the degree of overload for each of the ports.

It is further expedient if when setting up the new communication path account is taken of at least the degrees of overload of those ports which are disposed in the network nodes along the new communication paths. When setting up a new degree of communication the shortest connection between source node and destination node is thus not always the outcome when the new communication path is set up. Instead, the load on the respective network nodes or the ports lying in a potential communication path are additionally taken into account.

In this connection it is expedient if a first low threshold value is defined for the degree of overload (or the queues) of those ports which are disposed in the network node along the new communication path, whereby if this is exceeded the new communication path is set up such that the nodes for the new communication path which have at least one overloaded port whose degree of overload exceeds the first threshold value are disregarded, or the overloaded ports of nodes whose degree of overload exceeds the first threshold value are disregarded.

In another embodiment a second higher threshold value for the degree of overload (or the queue length of the queues) of those ports which are disposed in the network nodes along the new communication path is defined, whereby if this is exceeded alternative communication paths are determined and set up for existing communication paths.

By providing the first and the second comparatively higher threshold value, the load of a network node or of an overloaded port can thus be selectively controlled as regards the data transmitted via it. Depending on the queue length determined, not only is the new communication path selectively routed around the overloaded port or the network node in question in some cases, but a communication path already going via the overloaded port is also rerouted.

According to another expedient embodiment the degrees of overload (or the queue lengths) are monitored as a function of a traffic class of the queue in question. If, in addition to high-priority data traffic, low-priority data traffic also occurs, the latter can cause increased delay and/or jitter in high-priority data traffic. For example, this can be caused by an inappropriate implementation of a scheduler in the network nodes or by the arrival of a high-priority data packet while a long low-priority data packet is still being sent. Such critical situations, which are caused by the low-priority data traffic, can be reliably identified by taking into account the queue lengths of different traffic classes. By the above-described strategy of rerouting particular communication paths the overall load in the communication network can be improved, as a result of which determinism in the packet-based communication network can be achieved to improve the quality of data transmission.

Another embodiment provides that end-to-end values for the runtime delay and/or the delay variance on the communication paths in question can be determined from the determined degrees of overload or the queue lengths of those queues which are disposed in the network node along respective communication paths formed in the communication network.

The inventive procedure is thus based on the dynamic use of queue lengths of the ports of the network nodes to identify delay-critical and/or jitter-critical situations in conjunction with the regular interrogation of the queue lengths or corresponding messages by the network nodes, if predefined threshold values are exceeded. On the basis of the information about the queue lengths of the ports of the network nodes present in the communication network suitable communication paths for delay-critical or jitter-critical traffic flows are calculated. An advantage of the procedure is that there is no dependency on the detailed implementation of a scheduler or on a scheduler concept used.

The invention is explained in greater detail below on the basis of an exemplary embodiment in the drawings, in which:

FIG. 1 shows an inventive communication network containing a plurality of network nodes and a higher-level network management instance,

FIG. 2 shows the communication network from FIG. 1, in which by way of example three paths set up by the network management instance are illustrated,

FIG. 3 shows the communication network from FIG. 2, in which one of the network nodes reports an overloaded port to the network management instance,

FIG. 4 shows the communication network according to FIG. 2, in which one of the original communication paths has been set to an alternative route, and

FIG. 5 shows the communication network from FIG. 2, in which a new communication path has been set up.

FIG. 1 shows an inventive communication network containing a plurality of network nodes K and a network management instance NM. The network nodes K are numbered from 1 to 8, wherein the figures represent a respective address of the network nodes K. Each of the network nodes K has a number of ports P, via which a communication connection KV to another network node K can be produced. In the present exemplary embodiment the number of communication connections exiting from a node K corresponds to the number of ports, wherein a respective node can in principle have a larger number of ports than communication connections. Only for the nodes K characterized with the addresses 1 and 5 are the ports P provided with their reference characters. The communication connections KV may, depending on the type of the communication network, be line-based or wireless in nature. In the latter case in particular, it is possible that communication connections other than those illustrated in FIG. 1 are formed between the nodes K.

The aforementioned network management instance NM is higher ranking than the nodes K. The network management instance, which for example is formed by a central processor, is able, via respective communication connections KVN, to exchange data with the network nodes K. The communication connections KVN which are illustrated in FIG. 1 are merely of a logical nature and do not need to exist directly between the respective network nodes K and the network management instance NM. The way in which data is exchanged between the network management instance and the network node K (wirelessly or line-bound) is of secondary importance for the present invention.

To enable predefined requirements for the data transmission as regards an end-to-end delay (delay) and/or delay variation (jitter) to be met during a data transmission between a network node K acting as a source node and a network node K of the communication network acting as a destination node, active management of the communication paths created in the communication network is effected in the in principle packet-based communication network according to FIG. 1 under the control of the network management instance NM. In principle end-to-end delay values and jitter values can in particular become critical if because of packet buffering (known as queuing) packet congestion arises in the network nodes K along a particular communication path between source and destination nodes, and causes variable forwarding times in the individual network nodes.

The reasons for this are for example the blockage of an exit port by transmitting another packet or the preferential handling of other buffered packets with a higher priority. Because the delay is normally not deterministic, variable delay values and jitter values may arise.

The task of the network management instance is firstly to set up and manage the communication paths formed in the communication network. Secondly it is the task of the network management instance to monitor for their queue length at least the queues of those ports which are disposed in the network nodes along respective communication paths formed in the communication network. The network management instance can determine a degree of overload for the ports from the queue length, wherein a problem entailing delay and/or jitter in the data transmission can often be inferred from the degree of overload for the communication path(s) running via the overloaded port in question. Normally multiple queues are present per port P of a network node and are assigned to one or more priorities (traffic classes). The priorities are for example defined via IEEE 802.1P Class of Service (CoS) or IP Type of Service (ToS). If the degree of overload in question exceeds a predefined threshold value, i.e. if the queue length of a queue of a port is greater than the predefined threshold value, an alternative communication path bypassing the overloaded ports is set up for at least one of the communication paths which is routed via an overloaded port. These paths are selected such that the critical ports P or network nodes are not used.

The degree of overload can be a value directly proportional to the queue length. Likewise the degree of overload may correspond to the queue length, e.g. the number of bytes of a time until execution of the queue, etc.

FIG. 2 shows by way of example the communication network described in FIG. 1, in which three communication paths PF1, PF2, PF3 are set up by the network management instance NM. The communication path 1 runs from the network node 1 via the network nodes 5 and 2 to the network node 3. The communication path PF2 runs from the network node 1 via the network nodes 5 and 6 to the network node 8. The communication path PF3 runs from the network node 4 via the network nodes 5 and 6 to the network node 8. In the selected exemplary embodiment all three communication paths PF1, PF2 and PF3 are thus routed via the network node 5, wherein the communication paths PF2 and PF3 are further routed via a shared port P1(5). As a result of this, packet congestion may arise at the port P1(5), and can lead to delay and/or jitter both for the communication path PF2 and for the communication path PF3. If a degree of overload formed from the queue length at the port P1(5) exceeds a predefined threshold value, then according to FIG. 3 a message N is transmitted to the network management instance NM by the network node 5.

The network management instance NM can infer the possible occurrence of problem entailing delay and/or jitter from the degree of overload for the communication paths PF2, PF3 running via the port P1(5). Because of this the network management instance NM undertakes a reconfiguration of one of the two communication paths PF2, PF3. In the present exemplary embodiment an alternative communication path PF2′ is created for the communication path PF2, and runs from the network node 1 via the network nodes 2 and 3 to the network node 8.

To set up the communication paths the network management instance NM in principle uses known routing methods. The communication paths can for example be set up by direct entries in Layer-3 routing or Layer-2 forwarding tables. A setup or adjustment can also be implemented by adjusting metrics influencing the routing tables or forwarding tables. These may for example be Open Shortest Path First (OSPF) weightings or link costs and priorities in Rapid Spanning Tree (RSTP) or Multiple Spanning Tree (MSTP). Corresponding mechanisms and procedures are known to the person skilled in the art from the prior art.

The data transmission from a source node to a destination node can initially be effected along pre-set default paths. This means a default path is initially formed independently of the queue lengths of the queues along which the communication path runs. The network management instance NM only intervenes if a problem situation has been established during the continuous monitoring of the network nodes K and their queues.

Requests to set up new communication paths can be processed such that a new communication path avoids the critical ports or network nodes. This is illustrated by way of example in FIG. 5, wherein via the communication paths according to FIG. 3 a new communication path PF4 from the network node 1 via the network nodes 4 and 7 to the network node 6 is illustrated. Although the shortest way from the network node 1 to the network node 6 would run via the port P1(5) of the network node 5, a path via the network nodes 4 and 7 is selected in order to evade the congestion suggested at port P1(5) of the network node 5.

To set up new communication paths it is helpful to establish a first low threshold value and a second comparatively higher threshold value. If the first low threshold value is exceeded, new communication paths, such as the communication path PF4, which is in addition to the existing communication paths PF1, PF2′ and PF3, is set up via alternative network nodes. If the second higher threshold value is exceeded, some of the existing communication paths are also rerouted.

In principle it is also possible to individually define one or more threshold values centrally for each of the network nodes, so that a network node K sends a message to the network management instance NM if the respective limits are exceeded. This makes it unnecessary for the management instance to continuously interrogate the statuses and thus saves on communication resources.

To determine the degree of overload use is preferably made of an average queue length, wherein the average queue length is calculated from the average over time of multiple recorded queue lengths over a predefined period. As a result large fluctuations can be avoided. Alternatively, a maximum queue length can also be defined, wherein this can for example correspond to the second higher threshold value from above. Likewise it is possible to use an effective queue length to determine the degree of overload, wherein the effective queue length is determined from temporally preceding and current queue lengths. As a result the history of the queue can be taken into account, wherein e.g. an exponential smoothing can be effected.

In another embodiment it is alternatively possible just to monitor the queue length for particular traffic classes, e.g. a particular priority class, because these typically carry the data traffic which is sensitive to delay and jitter.

Besides taking into account an overshoot or undershoot of average, maximum or effective queue lengths by the degree of overload, this can also be used by the management system instance to derive absolute end-to-end values for the delay or jitter. For this purpose multiple delay components are added: the degree of overload offset against the respective bandwidths of the links; the delays arising in the network nodes as a result of switching operations, which may be estimated or measured; propagation delays on all involved communication connections, which may be estimated or measured (e.g. with the aid of corresponding mechanisms which are standardized in connection with clock time synchronization according to IEEE 1588 or 802.1 as). This is advantageous in particular if current delay values and/or jitter values have to be reported to an application causing the data traffic or if a communication path may only be set up under the secondary condition of a particular delay value or jitter value not being exceeded. 

1. A method for improving the quality of data transmission in a packet-based communication network, which comprises a plurality of network nodes (K), wherein each of the network nodes (K) has a number of ports (P), with each of which at least one queue (Q) is associated and via which a communication connection (KV) to another network node (K) can be produced, in which at least the queues (Q) of those ports (P) which are disposed in the network nodes (K) along respective communication paths that are formed in the communication network are monitored for their queue length; a degree of overload for the port(s) in question (P) is determined from the queue length, wherein a runtime delay (delay) and/or delay variation (jitter) in the data transmission can be inferred from the degree of overload for the communication paths (PF1, PF2, PF3) running via the overloaded port(s) (P) in question; if the degree of overload exceeds a predefined threshold value, an alternative communication path (PF2′) is set up for at least one of the communication paths (PF1, PF2, PF3) which is routed via an overloaded port (P), bypassing the overloaded ports (P).
 2. The method as claimed in claim 1, in which the alternative communication path (PF2′) is set up, bypassing those network nodes (K) which comprise at least one overloaded port (P).
 3. The method as claimed in claim 1 or 2, in which to determine the degree of overload one of the following queue lengths is processed: an average queue length, wherein the average queue length is calculated from the average over time of multiple recorded queue lengths of a queue over a predefined period; and/or a maximum queue length; and/or an effective queue length, which is determined from temporally preceding and current queue lengths.
 4. The method as claimed in one of the preceding claims, in which the communication paths (PF1, PF2, PF3) and/or the alternative communication paths (PF2′) are set up by a higher-level network management instance NM.
 5. The method as claimed in claim 4, in which the queue lengths of the ports (P) of the plurality of network nodes (K) are interrogated at predefined intervals by the higher-level network management instance (NM), wherein the network management instance (NM) determines the degree of overload for each of the ports (P).
 6. The method as claimed in claim 4, in which the queue lengths of the ports (P) of the plurality of network nodes (K) are transmitted from the network nodes (K) to the higher-level network management instance (NM) at predefined time intervals and/or as a function of a predefined global or individual network node threshold value being exceeded, wherein the network management instance (NM) determines the degree of overload for each of the ports (P).
 7. The method as claimed in one of claims 4 to 6, in which when a new communication path (PF4) is set up at least the degrees of overload of those ports (P) which are disposed in the network nodes (K) along the new communication paths (PF4) are taken into account.
 8. The method as claimed in claim 7, in which a first low threshold value for the degree of overload of those ports which are disposed in the network nodes along the new communication paths (PF4) is defined, whereby if this is exceeded the new communication path (PF4) is set up such that the nodes (K) for the new communication path (KV) are disregarded which have at least one overloaded port whose degree of overload exceeds the first threshold value or the overloaded ports of nodes (K) whose degree of overload exceeds the first threshold value are disregarded.
 9. The method as claimed in claim 8, in which a second higher threshold value for the degree of overload of those ports which are disposed in the network nodes along the new communication paths (PF4) is defined, whereby if this is exceeded for existing communication paths (PF1, PF2, PF3) alternative communication paths (PF2′) are determined and set up.
 10. The method as claimed in one of the preceding claims, in which monitoring of the degrees of overload is effected as a function of a traffic class of the queue (Q) in question.
 11. The method as claimed in one of the preceding claims, in which end-to-end values for the runtime delay and/or delay variance on the communication paths (KV) in question are determined from the determined degrees of overload of those queues (Q) which are disposed in the network nodes (K) along respective communication paths (KV) formed in the communication network.
 12. A network node of a packet-based communication network containing a plurality of network nodes (K), wherein the network node (K) comprises a number of ports (P), with each of which at least one queue (Q) is associated and via which a communication connection (KV) to another network node (K) can be produced, comprising a first means for monitoring, for their queue length, the queues of those ports (P) which are disposed in the network nodes (K) along respective communications paths formed in the communication network; a second means for determining a degree of overload from the queue length for the port(s) in question (P).
 13. A packet based communication network, which comprises a plurality of network nodes (K) according to claim 12 and a network management instance (NM) for setting up communication paths (PF1, PF2, PF3) and/or alternative communication paths (PF2′) in the communication network, wherein the network management instance comprises: a third means, by which a runtime delay (delay) and/or delay variation (jitter) in the data transmission can be inferred from the degree of overload obtained from a respective network node (K) for the communication path(s) (PF1, PF2, PF3) running via the overloaded port (P) in question; a fourth means, by which, if the degree of overload exceeds a predefined threshold value, an alternative communication path (PF2′) can be set up for at least one of the communication paths (PF1, PF2, PF3) which is routed via an overloaded port (P), bypassing the overloaded port (P). 